<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>let</title>
</head>
<body>
    <script>
        // 不属于顶层对象window
        // var a = 1;
        // let b = 2;
        // debugger;
        // console.log(window);
        // console.log('a' in window);

        //- 不允许重复声明
        // var a = 2;
        // let a = 1;
        
        //- 不存在变量提升
        // console.log(a);
        // let a = 1;
        // 块级作用域  花括号 {} if(){}  for(){} while(){}  switch(){}
        // if(true){
        //     // 使用let声明，只在当前块有效
        //     let a = 1;
        //     console.log(a);
        // }
        // console.log(a);//会报为声明变量的错误

        // 不影响作用域链

        function f1(){
            let a = 1;
            function f2(){
                // let a = 2;
                console.log(a);
            }
            f2()
        }
        f1();

        // 应用：只要使用 var声明变量，现在都用 let就对了
        
    </script>
</body>
</html>